/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.impulserobotics;

/**
 *
 * @author Sahil Jain
 */
public class Constants {
    
    //Speed factor to control chassis speed between 0.0 and 1.0
    public static final double SPEED_FACTOR = 0.1;
    
    public static final double BALL_LIFTER_SPEED = 0.2;
    
    public static final int BALL_LIFTER_RELAY = 7;
    
    public static final int BLA_RELAY = 8;
    
    public static final int BLA_DOWN_BUTTON = 4;
    
    public static final int BLA_UP_BUTTON = 5;
    
    public static final int BALL_LIFTER_BUTTON = 2;
    
    public static final int BALL_LIFTER_BWD = 8;
    
    public static final int BALL_LIFTER_FWD = 9;
    
    public static final int AIM_BUTTON = 3;
    
    //Drivetrain PWMs
    public static final int LEFT_MOTOR_PWM = 1;
    public static final int RIGHT_MOTOR_PWM = 2;
    
    //Shooter PWMs
    public static final int SHOOTER_PWM = 4;
   
    
    public static int SERVO_CENTRE_BUTTON = 2;
    
    //button on joystick to control robot direction
    public static int DIRECTION_BUTTON = 6;
    //button on joystick to turn on auto balancing for the bridge
    public static int BALANCE_BUTTON = 10;
    //button on joystick to control ultrasonic pinging time
 //   public static int SONAR_BUTTON = 8;
    //button to fire shooting system
    public static int FIRE_BUTTON = 1;
    //shooting prime button on the joystick
  //  public static int FIREPRIME_BUTTON = 7;
    //whether you want the solenoid lights to indicate joystick buttons
    public static final boolean KITT_MODE_ON = false;
    //whether camera detection is on
    public static final boolean CAMERA_DETECTION_ON = false;
    
    public static final double MAX_VELOCITY = 6.27;
    
    //Height of the tip of the shooter, in metres, from the ground
    public static final double SHOOTER_HEIGHT = 0.47;
    //Angle that the shooter mechanism is mounted
    public static final double SHOOTER_ANGLE= 55;
    
    public static final double SHOOTER_SPEED_FACTOR = 0.1;
    
    public static final double CAM_HEIGHT = 0.78; //in metres please;
    
    public static final double CAM_HORIZON_ANGLE = 5;
    
    public static final double CAMERA_SHOOTER_DIFFERENCE = 0.66;
    
    //Ultrasonic Rangefinder
 //  public static final int PING_CHANNEL = 9;
 //   public static final int ECHO_CHANNEL = 10;
    public static final int SONAR_ANALOG_PWM = 1;
    
    //public static final double SONAR_MAX_DISTANCE = 6.4516; //in metres
    public static final double SONAR_MAX_DISTANCE = 1;
    
    //Axis Camera movement servos
    public static final int HSERVO_PWM = 5;
    public static final int VSERVO_PWM = 6;
    
    public static final int LATCH_OPEN_BUTTON = 4;
    public static final int LATCH_CLOSED_BUTTON = 5;
    
    public static final int GYRO_CHANNEL = 2;
    
    public static final double SHOOTER_WARMUP_DELAY = 4.0;
    
    public static final double LOW_NET_HEIGHT = 0.7112;
    public static final double MID_NET_HEIGHT = 1.5494;
    public static final double HIGH_NET_HEIGHT = 2.4892;
    
    public static final double LATCH_ROTATION_DELAY = 0.2; // in seconds
    
}
